#   Copyright (c)  鱼肠的渔场小组  2025-2025 . All rights reserved.
#   TradingPlatform_Server is licensed under Mulan PSL v2.
#   You can use this software according to the terms and conditions of the Mulan
#   PSL v2.
#   You may obtain a copy of Mulan PSL v2 at:
#            http://license.coscl.org.cn/MulanPSL2
#   THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY
#   KIND, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO
#   NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
#   See the Mulan PSL v2 for more details.
from enum import Enum

"""
---------------------------------------------------------状态码-----------------------------------------------------------------
"""


class StoreState(Enum):
    auditing = 0
    audited = 1
    forbidden = 2
    deleted = 3
    reject = 4


class OrderState(Enum):
    unfinished = 0
    finished = 1


class DeliveryState(Enum):
    get_takeout = 0
    delivering = 1
    finish = 2
    overtime = 3


class TakeoutState(Enum):
    auditing = 0
    audited = 1
    forbidden = 2
    deleted = 3
    reject = 4


"""
---------------------------------------------------------评分-----------------------------------------------------------------
"""


class RemarkChoice(Enum):
    zero = 0
    one = 1
    two = 2
    three = 3
    four = 4
    five = 5


"""
---------------------------------------------------------支付方式-----------------------------------------------------------------
"""


class PaymentMethod(Enum):
    wechat = 0
    alipay = 1


"""
---------------------------------------------------------外卖类别-----------------------------------------------------------------
"""


class TakeoutType(Enum):
    food = 0
    drink = 1
    snack = 2


"""
---------------------------------------------------------错误码-----------------------------------------------------------------
"""


class CommonSuccessCode(Enum):
    success = 200


class CommonErrorCode(Enum):
    method_error = 400
    address_not_found = 404
    server_error = 500
    param_not_found = 501
    form_not_valid = 502


class UserBackCode(Enum):
    user_not_found = 101000
    registered_user = 101001
    unregistered_user = 101002
    not_admin_user = 101003
    not_sufficient_funds = 101004


class TakeoutBackCode(Enum):
    takeout_not_found = 102000
    takeout_list_empty = 102001
    takeout_delete_failed = 102002


class DeliveryBackCode(Enum):
    delivery_not_found = 103001


class PaymentBackCode(Enum):
    payment_list_empty = 103001


class OrderBackCode(Enum):
    order_list_empty = 104001
    order_delete_failed = 104002
    order_not_found = 104003
    order_update_failed = 104004


class StoreBackCode(Enum):
    store_not_found = 107000


class DiscussBackCode(Enum):
    discuss_not_found = 109000


class AuditBackCode(Enum):
    audit_store_not_found = 107000
    audit_takeout_not_found = 107001
    audit_store_list_empty = 107002
    audit_takeout_list_empty = 107003
    fail_the_audit = 107004


class MenuBackCode(Enum):
    menu_not_found = 110000
    menu_list_empty = 110001

class AddressBackCode(Enum):
    address_not_found = 108000
    default_address_not_found = 108001

class MessageBackCode(Enum):
    message_not_found = 111000
    message_list_empty = 111001